package com.zhoux.collections.collection;

import java.security.spec.RSAOtherPrimeInfo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;

/**
 * @author taoyi
 * @version 1.0
 * @date 2021/3/18 10:29
 *
 * 本类用于测试Collection接口
 */
public class Collection_Test2 {
    public static void main(String[] args) {
        // 创建Collection接口相关对象
        Collection<Integer> collection = new ArrayList<Integer>();

        // 测试常用方法----争对单个集合的方法
        collection.add(100);
        collection.add(200);
        collection.add(300);
        System.out.println(collection);
//        collection.clear(); // 清空集合中的所有元素
        System.out.println(collection);
        System.out.println(collection.hashCode());
        System.out.println(collection.isEmpty()); // 判断此集合是否为空
        System.out.println(collection.size()); // 获取集合中的元素个数
        System.out.println(collection.equals(200));
        System.out.println(collection.contains(200)); // 判断集合中是否包含元素200
        System.out.println(collection.remove(100)); // 删除集合中的元素100，成功返回true
        System.out.println(collection);
        Object[] a = collection.toArray(); // 把集合中的元素放入数组
        System.out.println(Arrays.toString(a));


        // 测试常用方法----集合间的操作
        Collection<Integer> c = new ArrayList<Integer>();
        c.add(11);
        c.add(22);
        c.add(33);
        System.out.println(c);

        // 把collection集合添加到c集合中
        c.addAll(collection);
        System.out.println(c);

        System.out.println(c.contains(collection));
        System.out.println(c.containsAll(collection));
//        System.out.println(c.retainAll(collection));
        System.out.println(c);

        // 遍历迭代集合中元素
        Iterator<Integer> it = c.iterator(); // 获取集合的迭代器
        while (it.hasNext()){
            System.out.print(it.next()+"\t");
        }

    }
}
